/* 
 * File:   Object.h
 * Author: paula
 *
 * Created on 22 de octubre de 2014, 16:50
 */

#ifndef OBJECT_H
#define	OBJECT_H

#include <string>
#include <stdio.h>
#include <iostream>
#include "../Define/Structs.h"
#include "../Define/DefaultValues.h"
#include "Drawable.h"
#include "Dot.h"
#include "SBSImage.h"
#include "Object.h"

using namespace std;

class Object : public Drawable {
protected:
    Dot* dot;
    struct ObjectInit data;

    SBSImage* image;
    SDL_Renderer* gRenderer;
    //    SBSLog* myLogFile;
    string pathType;
    string pathImage;
    string path;
    void init(struct ObjectInit data, SDL_Renderer *render, string path);
    void loadMedia(string path);

public:
    Object(struct ObjectInit data, SDL_Renderer *render, int type, int image);

    int getCharacterId();
    struct ObjectInit getData();

    float getPosX();
    float getPosY();

    void draw();
    void actualize();
    void updateData(struct ObjectInit data);

    Object(const Object& orig);
    virtual ~Object();
private:

};

#endif	/* OBJECT_H */

